package cn.edu.cdp.jxgl_springboot_web.controller;

import cn.edu.cdp.jxgl_springboot_web.dao.AdminDao;
import cn.edu.cdp.jxgl_springboot_web.domain.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class AdminController {
    private final AdminDao adminDao;

    public AdminController(AdminDao adminDao) {
        this.adminDao = adminDao;
    }

    // 作业要求
    //（1）	查询XXX同学各科成绩：学号，姓名，专业名称，课程名称，成绩
    @RequestMapping("/b1")
    Result scoreByStudentIdOrName(@RequestParam("text") String text) {
        return Result.success(adminDao.scoreByStudentIdOrName(text));
    }


    //（2）	按专业统计学生人数：专业，学生人数
    @RequestMapping("/b2")
    Result statisticStudentNumberByMajor() {
        return Result.success(adminDao.statisticStudentNumberByMajor());
    }


    //（3）	查询某门课程成绩单：学号，姓名，专业名称，成绩
    @RequestMapping("/b3")
    Result scoreByCourseIdOrName(@RequestParam("text") String text) {
        return Result.success(adminDao.scoreByCourseIdOrName(text));
    }


    //（4）	查询学生总学分，不及格不计学分：学号，姓名，专业名称，总学分
    @RequestMapping("/b4")
    Result totalCredit() {
        return Result.success(adminDao.totalCredit());
    }


    //（5）	查询不及格学生信息：学号，姓名，专业名称，补考课程名称
    @RequestMapping("/b5")
    Result failExam() {
        return Result.success(adminDao.failExam());
    }


    //（6）	查询奖学金学生信息（要求：无不及格记录，且平均分在85分以上）：学号，姓名，专业名称，平均分
    @RequestMapping("/b6")
    Result gainScholarship() {
        return Result.success(adminDao.gainScholarship());
    }
}
